﻿using System;
using System.Collections.ObjectModel;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;

namespace Acme.BookStore2
{
    /// <summary>
    /// 车辆维修记录
    /// </summary>
    public class VehicleRepairRecord : FullAuditedAggregateRoot<Guid>, IMultiTenant
    {
        /// <summary>
        /// 维修开始日期
        /// </summary>
        public virtual DateTime? StartDate { get; set; }
        /// <summary>
        /// 维修结束日期
        /// </summary>
        public virtual DateTime? EndDate { get; set; }
        /// <summary>
        /// 维修地点
        /// </summary>
        public virtual string Location { get; set; }
        /// <summary>
        /// 送修人
        /// </summary>
        public virtual string FollowUpPerson { get; set; }
        /// <summary>
        /// 花费
        /// </summary>
        public virtual string Cost { get; set; }
        /// <summary>
        /// 故障原因
        /// </summary>
        public virtual string FailureCause { get; set; }
        /// <summary>
        /// 维修人/技师
        /// </summary>
        public virtual string Technician { get; set; }
        /// <summary>
        /// 维修项目
        /// </summary>
        public virtual string Detail { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public virtual string Remark { get; set; }
        /// <summary>
        /// 附件
        /// </summary>
        public virtual Collection<AttachFile> AttachFiles { get; set; }
        /// <summary>
        /// 车辆Id
        /// </summary>
        public virtual Guid VehicleId { get; } 
        public Guid? TenantId { get; }
        protected VehicleRepairRecord()
        {
            
        }

        public VehicleRepairRecord(Guid id, Guid vehicleId, Guid? tenantId) : base(id)
        {
            AttachFiles = new Collection<AttachFile>();
            VehicleId = vehicleId;
            TenantId = tenantId;
        }
    }
}